import cv2

from utils import get_video_info


def check_video_quality(video_path):
    '''
    获取视频的分辨率、比特率、帧率
    :param video_path:
    :return:
    '''
    cap = cv2.VideoCapture(video_path)  # 打开视频文件
    if not cap.isOpened():  # 检查视频是否成功打开
        print("无法打开视频文件")  # 输出错误信息
        return

    # 获取视频的分辨率
    width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))  # 获取视频宽度
    height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))  # 获取视频高度
    fps = cap.get(cv2.CAP_PROP_FPS)  # 获取视频的帧率
    bitrate = get_video_info(video_path)  # 获取视频的比特率

    # 输出视频质量信息
    print(f"视频分辨率: {width}x{height}")  # 输出分辨率
    print(f"视频帧率: {fps:.2f} FPS")  # 输出帧率
    print(f"视频比特率: {bitrate}")  # 输出比特率

    cap.release()  # 释放视频捕获对象


if __name__ == '__main__':
    # 使用示例
    video_file_path = '/7M文件大小.mp4'  # 替换为你的视频文件路径
    check_video_quality(video_file_path)  # 检查视频质量
